Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Rollouts] RC interop implementation #12173

Merged
merged 5 commits into from
Dec 7, 2023
Merged

[Rollouts] RC interop implementation #12173

merged 5 commits into from
Dec 7, 2023

Conversation

themiswang
Copy link
Contributor

@themiswang themiswang commented Dec 5, 2023

RC interop Implementation

  • This change is for interop and RCComponent.
  • Interop and its unit tests are written in Swift under FirebaseRemoteConfig/Interop and FirebaseRemoteConfig/Tests/SwiftUnit
  • Updated dependency for SPM and CocoaPod for the new Interop.

Note: this change will merge to our feature branch not master
#no-changelog

@themiswang themiswang force-pushed the rcInterop branch 2 times, most recently from 50c0e7e to b079f62 Compare December 7, 2023 04:37
@paulb777
Copy link
Member

paulb777 commented Dec 7, 2023

Yes. The spectesting tests can't pass on a new pod until after the PR merges. The icore team needs to stage the pod and retag after you merge. You can merge without it. Sorry about the confusion.

@themiswang
Copy link
Contributor Author

Yes. The spectesting tests can't pass on a new pod until after the PR merges. The icore team needs to stage the pod and retag after you merge. You can merge without it. Sorry about the confusion.

Thank you for the confirming!

// See the License for the specific language governing permissions and
// limitations under the License.

import Foundation
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All of the other interops are protocols only. Why is there code here?

Copy link
Contributor Author

@themiswang themiswang Dec 7, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This object will be shared between Crashlytics and RC to transfer the Rollout related data. We are following the similar implementation on Android side. cc @danasilver if you want to add more input on this!

Copy link
Contributor

@samedson samedson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

id defaultAppInteropID = defaultAppInterop;

XCTAssertEqualObjects(providerID, interopID);
XCTAssertEqualObjects(defaultAppProviderID, defaultAppInteropID);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thinking: this asserts the singleton logic works 👍

Copy link
Contributor

@danasilver danasilver left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! 🚢

@themiswang themiswang merged commit 5e1f24c into featureRollouts Dec 7, 2023
81 of 82 checks passed
@themiswang themiswang deleted the rcInterop branch December 7, 2023 20:45
@firebase firebase locked and limited conversation to collaborators Jan 7, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants